Abstract
Background We have run the simplified Naomi model using a range of inference methods: TMB, aghq, adam and tmbstan.
Task In this report, we compare the accuracy of the posterior distributions obtained from these inference methods using histograms and Kolmogorov-Smirnov tests.
We compare the inference results from TMB, aghq, adam, and tmbstan.
Import these inference results as follows:
tmb <- readRDS("depends/tmb.rds")
aghq <- readRDS("depends/aghq.rds")
adam <- readRDS("depends/adam.rds")
adam_time <- adam$time
adam <- adam$adam
tmbstan <- readRDS("depends/tmbstan.rds")
depends <- yaml::read_yaml("orderly.yml")$depends
Check that the parameters (latent field, hyperparameters, model outputs) sampled from each of the four methods are the same:
stopifnot(names(tmb$fit$sample) == names(aghq$quad$sample))
stopifnot(names(tmb$fit$sample) == names(adam$adam$sample))
stopifnot(names(tmb$fit$sample) == names(tmbstan$mcmc$sample))
For more information about the conditions under which these results were generated, see:
TMBdependency_details <- function(i) {
report_name <- names(depends[[i]])
print(paste0("Inference results obtained from ", report_name, " with the query ", depends[[i]][[report_name]]$id))
report_id <- orderly::orderly_search(query = depends[[i]][[report_name]]$id, report_name)
print(paste0("Obtained report had ID ", report_id, " and was run with the following parameters:"))
print(orderly::orderly_info(report_id, report_name)$parameters)
}
dependency_details(1)
## [1] "Inference results obtained from naomi-simple_fit with the query latest(parameter:tmb == TRUE)"
## [1] "Obtained report had ID 20230425-211024-cc2b7929 and was run with the following parameters:"
## $tmb
## [1] TRUE
##
## $sample
## [1] TRUE
##
## $aghq
## [1] FALSE
##
## $k
## [1] 1
##
## $grid_type
## [1] "product"
##
## $s
## [1] 1
##
## $tmbstan
## [1] FALSE
##
## $hmc_laplace
## [1] FALSE
##
## $niter
## [1] 1000
##
## $nthin
## [1] 1
##
## $adam
## [1] FALSE
##
## $nsample
## [1] 1000
##
## $area_level
## [1] 4
aghqdependency_details(2)
## [1] "Inference results obtained from naomi-simple_fit with the query latest(parameter:aghq == TRUE && parameter:k == 3 && parameter:s == 8)"
## [1] "Obtained report had ID 20230424-192453-b044811f and was run with the following parameters:"
## $aghq
## [1] TRUE
##
## $k
## [1] 3
##
## $s
## [1] 8
##
## $grid_type
## [1] "pca"
##
## $sample
## [1] TRUE
##
## $tmb
## [1] FALSE
##
## $tmbstan
## [1] FALSE
##
## $hmc_laplace
## [1] FALSE
##
## $niter
## [1] 1000
##
## $nthin
## [1] 1
##
## $adam
## [1] FALSE
##
## $nsample
## [1] 1000
##
## $area_level
## [1] 4
adamdependency_details(3)
## [1] "Inference results obtained from naomi-simple_fit with the query latest(parameter:adam == TRUE)"
## [1] "Obtained report had ID 20230425-190141-a3df2ca3 and was run with the following parameters:"
## $adam
## [1] TRUE
##
## $sample
## [1] TRUE
##
## $tmb
## [1] FALSE
##
## $aghq
## [1] FALSE
##
## $k
## [1] 1
##
## $grid_type
## [1] "product"
##
## $s
## [1] 1
##
## $tmbstan
## [1] FALSE
##
## $hmc_laplace
## [1] FALSE
##
## $niter
## [1] 1000
##
## $nthin
## [1] 1
##
## $nsample
## [1] 1000
##
## $area_level
## [1] 4
tmbstantmbstan_details <- dependency_details(4)
## [1] "Inference results obtained from naomi-simple_fit with the query latest(parameter:tmbstan == TRUE && parameter:niter > 50000)"
## [1] "Obtained report had ID 20230414-110613-89cd4244 and was run with the following parameters:"
## $tmbstan
## [1] TRUE
##
## $niter
## [1] 1e+05
##
## $nthin
## [1] 40
##
## $tmb
## [1] FALSE
##
## $aghq
## [1] FALSE
##
## $k
## [1] 1
##
## $grid_type
## [1] "product"
##
## $s
## [1] 1
##
## $hmc_laplace
## [1] FALSE
##
## $adam
## [1] FALSE
##
## $nsample
## [1] 5000
##
## $area_level
## [1] 4
tmbstan_details
## $tmbstan
## [1] TRUE
##
## $niter
## [1] 1e+05
##
## $nthin
## [1] 40
##
## $tmb
## [1] FALSE
##
## $aghq
## [1] FALSE
##
## $k
## [1] 1
##
## $grid_type
## [1] "product"
##
## $s
## [1] 1
##
## $hmc_laplace
## [1] FALSE
##
## $adam
## [1] FALSE
##
## $nsample
## [1] 5000
##
## $area_level
## [1] 4
time_taken <- data.frame(
"TMB" = tmb$time,
"aghq" = aghq$time,
"adam" = adam_time,
"tmbstan" = tmbstan$time
)
write_csv(time_taken, "time_taken.csv")
time_taken
We create histograms and empirical cumulative distribution function (ECDF) difference plots of the samples from each method. All of the possible parameter names are as follows:
pars <- names(tmb$fit$sample)
pars
## [1] "beta_alpha" "beta_anc_alpha" "log_sigma_alpha_a" "log_sigma_alpha_xa" "u_alpha_xs"
## [6] "log_sigma_rho_as" "logit_phi_alpha_as" "u_rho_xs" "u_rho_as" "anc_clients_t1_out"
## [11] "population_t1_out" "plhiv_attend_t1_out" "anc_already_art_t1_out" "anc_tested_pos_t1_out" "anc_tested_neg_t1_out"
## [16] "ui_anc_rho_x" "log_sigma_ancrho_x" "us_alpha_x" "log_sigma_lambda_x" "anc_rho_obs_t1_ll"
## [21] "hhs_prev_ll" "beta_anc_rho" "log_or_gamma" "u_alpha_a" "log_sigma_rho_xa"
## [26] "log_sigma_or_gamma" "u_rho_xa" "log_sigma_alpha_as" "logit_phi_alpha_xs" "logit_phi_rho_as"
## [31] "us_rho_xs" "anc_art_new_t1_out" "untreated_plhiv_attend_t1_out" "untreated_plhiv_num_t1_out" "artattend_ij_t1_out"
## [36] "log_betaT" "anc_known_pos_t1_out" "artattend_t1_out" "OmegaT_raw" "ui_anc_alpha_x"
## [41] "ui_lambda_x" "log_sigma_ancalpha_x" "u_rho_x" "u_alpha_x" "logit_phi_rho_x"
## [46] "us_rho_x" "beta_rho" "u_alpha_xa" "logit_phi_alpha_a" "u_rho_a"
## [51] "logit_phi_rho_a" "beta_lambda" "log_sigma_rho_a" "u_alpha_as" "us_alpha_xs"
## [56] "log_sigma_alpha_xs" "logit_phi_rho_xs" "log_sigma_rho_xs" "rho_t1_out" "anc_rho_t1_out"
## [61] "artnum_t1_out" "anc_alpha_t1_out" "alpha_t1_out" "infections_t1_out" "anc_plhiv_t1_out"
## [66] "plhiv_t1_out" "lambda_t1_out" "log_sigma_alpha_x" "logit_phi_alpha_x" "log_sigma_rho_x"
## [71] "hhs_artcov_ll" "artnum_t1_ll"
We will produce plots about the following subset of them. There is no particular reason to choose this subset rather than other, it’s quite arbitrary.
pars_eval <- pars %in% c("beta_rho", "beta_alpha", "beta_lambda", "beta_anc_rho", "beta_anc_alpha", "u_rho_x", "us_rho_x", "u_rho_xs")
names(pars_eval) <- pars
The beta_rho and beta_anc_rho parameters are used in other reports, so create dataframes here to save as artefacts:
beta_rho <- histogram_and_ecdf("beta_rho", i = 1, return_df = TRUE)
saveRDS(beta_rho$df, "beta_rho.rds")
beta_anc_rho <- histogram_and_ecdf("beta_anc_rho", return_df = TRUE)
saveRDS(beta_anc_rho$df, "beta_anc_rho.rds")
histogram_and_ecdf_helper <- function(par) lapply(1:sum(names(tmb$fit$obj$env$par) == par), histogram_and_ecdf, par = par)
beta_rhohistogram_and_ecdf_helper("beta_rho")
## [[1]]
##
## [[2]]
beta_alphahistogram_and_ecdf_helper("beta_alpha")
## [[1]]
##
## [[2]]
beta_lambdahistogram_and_ecdf_helper("beta_lambda")
## [[1]]
##
## [[2]]
beta_anc_rhohistogram_and_ecdf("beta_anc_rho")
beta_anc_alphahistogram_and_ecdf("beta_anc_alpha")
logitlapply(pars[stringr::str_starts(pars, "logit")], histogram_and_ecdf)
log_sigmalapply(pars[stringr::str_starts(pars, "log_sigma")], histogram_and_ecdf)
u_rho_xhistogram_and_ecdf_helper("u_rho_x")
## [[1]]
##
## [[2]]
##
## [[3]]
##
## [[4]]
##
## [[5]]
##
## [[6]]
##
## [[7]]
##
## [[8]]
##
## [[9]]
##
## [[10]]
##
## [[11]]
##
## [[12]]
##
## [[13]]
##
## [[14]]
##
## [[15]]
##
## [[16]]
##
## [[17]]
##
## [[18]]
##
## [[19]]
##
## [[20]]
##
## [[21]]
##
## [[22]]
##
## [[23]]
##
## [[24]]
##
## [[25]]
##
## [[26]]
##
## [[27]]
##
## [[28]]
##
## [[29]]
##
## [[30]]
##
## [[31]]
##
## [[32]]
us_rho_xhistogram_and_ecdf_helper("us_rho_x")
## [[1]]
##
## [[2]]
##
## [[3]]
##
## [[4]]
##
## [[5]]
##
## [[6]]
##
## [[7]]
##
## [[8]]
##
## [[9]]
##
## [[10]]
##
## [[11]]
##
## [[12]]
##
## [[13]]
##
## [[14]]
##
## [[15]]
##
## [[16]]
##
## [[17]]
##
## [[18]]
##
## [[19]]
##
## [[20]]
##
## [[21]]
##
## [[22]]
##
## [[23]]
##
## [[24]]
##
## [[25]]
##
## [[26]]
##
## [[27]]
##
## [[28]]
##
## [[29]]
##
## [[30]]
##
## [[31]]
##
## [[32]]
u_rho_xshistogram_and_ecdf_helper("u_rho_xs")
## [[1]]
##
## [[2]]
##
## [[3]]
##
## [[4]]
##
## [[5]]
##
## [[6]]
##
## [[7]]
##
## [[8]]
##
## [[9]]
##
## [[10]]
##
## [[11]]
##
## [[12]]
##
## [[13]]
##
## [[14]]
##
## [[15]]
##
## [[16]]
##
## [[17]]
##
## [[18]]
##
## [[19]]
##
## [[20]]
##
## [[21]]
##
## [[22]]
##
## [[23]]
##
## [[24]]
##
## [[25]]
##
## [[26]]
##
## [[27]]
##
## [[28]]
##
## [[29]]
##
## [[30]]
##
## [[31]]
##
## [[32]]
us_rho_xshistogram_and_ecdf_helper("us_rho_xs")
u_rho_ashistogram_and_ecdf_helper("u_rho_as")
u_alpha_xhistogram_and_ecdf_helper("u_alpha_x")
us_alpha_xhistogram_and_ecdf_helper("us_alpha_x")
u_alpha_xshistogram_and_ecdf_helper("u_alpha_xs")
us_alpha_xshistogram_and_ecdf_helper("us_alpha_xs")
## [[1]]
##
## [[2]]
##
## [[3]]
##
## [[4]]
##
## [[5]]
##
## [[6]]
##
## [[7]]
##
## [[8]]
##
## [[9]]
##
## [[10]]
##
## [[11]]
##
## [[12]]
##
## [[13]]
##
## [[14]]
##
## [[15]]
##
## [[16]]
##
## [[17]]
##
## [[18]]
##
## [[19]]
##
## [[20]]
##
## [[21]]
##
## [[22]]
##
## [[23]]
##
## [[24]]
##
## [[25]]
##
## [[26]]
##
## [[27]]
##
## [[28]]
##
## [[29]]
##
## [[30]]
##
## [[31]]
##
## [[32]]
u_alpha_ahistogram_and_ecdf_helper("u_alpha_a")
u_alpha_ashistogram_and_ecdf_helper("u_alpha_as")
u_alpha_xahistogram_and_ecdf_helper("u_alpha_xa")
ui_lambda_xhistogram_and_ecdf_helper("ui_lambda_x")
ui_anc_rho_xhistogram_and_ecdf_helper("ui_anc_rho_x")
ui_anc_alpha_xhistogram_and_ecdf_helper("ui_anc_alpha_x")
log_or_gammahistogram_and_ecdf_helper("log_or_gamma")
These are all of the outcome variables which we might be interested in to monitor:
names(tmb$fit$sample)[!(names(tmb$fit$sample) %in% unique(names(tmb$fit$obj$env$par)))]
## [1] "anc_clients_t1_out" "population_t1_out" "plhiv_attend_t1_out" "anc_already_art_t1_out" "anc_tested_pos_t1_out"
## [6] "anc_tested_neg_t1_out" "anc_rho_obs_t1_ll" "hhs_prev_ll" "u_rho_xa" "anc_art_new_t1_out"
## [11] "untreated_plhiv_attend_t1_out" "untreated_plhiv_num_t1_out" "artattend_ij_t1_out" "anc_known_pos_t1_out" "artattend_t1_out"
## [16] "rho_t1_out" "anc_rho_t1_out" "artnum_t1_out" "anc_alpha_t1_out" "alpha_t1_out"
## [21] "infections_t1_out" "anc_plhiv_t1_out" "plhiv_t1_out" "lambda_t1_out" "hhs_artcov_ll"
## [26] "artnum_t1_ll"
The most important ones (this has been checked with Jeff) are HIV prevalence (rho_t1_out), ART coverage (alpha_t1_out), and HIV incidence (lambda_t1_out).
dim(tmb$fit$sample$rho_t1_out)
## [1] 6417 1000
dim(tmb$fit$sample$alpha_t1_out)
## [1] 6417 1000
dim(tmb$fit$sample$lambda_t1_out)
## [1] 6417 1000
Within tmb$naomi_data there is a dataframe called mf_out (modelframe output) which contains the area, age, sex mapping these 6417 rows.
As a sanity check, confirm that the number of areas times number of ages times number of sexes indeed equals the number of rows:
mf_out <- tmb$naomi_data$mf_out
(n_area <- length(unique(mf_out$area_id)))
## [1] 69
(n_age <- length(unique(mf_out$age_group)))
## [1] 31
(n_sex <- length(unique(mf_out$sex)))
## [1] 3
stopifnot(n_area * n_age * n_sex == dim(tmb$fit$sample$rho_t1_out)[1])
It makes sense only to assess inferential accuracy at the finest level so as to avoid double counting.
mf_out$area_id %>% unique()
## [1] "MWI" "MWI_1_1_demo" "MWI_1_2_demo" "MWI_1_3_demo" "MWI_2_1_demo" "MWI_2_2_demo" "MWI_2_3_demo" "MWI_2_4_demo" "MWI_2_5_demo" "MWI_3_1_demo" "MWI_3_10_demo"
## [12] "MWI_3_11_demo" "MWI_3_12_demo" "MWI_3_13_demo" "MWI_3_14_demo" "MWI_3_15_demo" "MWI_3_16_demo" "MWI_3_17_demo" "MWI_3_18_demo" "MWI_3_19_demo" "MWI_3_2_demo" "MWI_3_20_demo"
## [23] "MWI_3_21_demo" "MWI_3_22_demo" "MWI_3_23_demo" "MWI_3_24_demo" "MWI_3_25_demo" "MWI_3_26_demo" "MWI_3_27_demo" "MWI_3_28_demo" "MWI_3_3_demo" "MWI_3_4_demo" "MWI_3_5_demo"
## [34] "MWI_3_6_demo" "MWI_3_7_demo" "MWI_3_8_demo" "MWI_3_9_demo" "MWI_4_1_demo" "MWI_4_10_demo" "MWI_4_11_demo" "MWI_4_12_demo" "MWI_4_13_demo" "MWI_4_14_demo" "MWI_4_15_demo"
## [45] "MWI_4_16_demo" "MWI_4_17_demo" "MWI_4_18_demo" "MWI_4_19_demo" "MWI_4_2_demo" "MWI_4_20_demo" "MWI_4_21_demo" "MWI_4_22_demo" "MWI_4_23_demo" "MWI_4_24_demo" "MWI_4_25_demo"
## [56] "MWI_4_26_demo" "MWI_4_27_demo" "MWI_4_28_demo" "MWI_4_29_demo" "MWI_4_3_demo" "MWI_4_30_demo" "MWI_4_31_demo" "MWI_4_32_demo" "MWI_4_4_demo" "MWI_4_5_demo" "MWI_4_6_demo"
## [67] "MWI_4_7_demo" "MWI_4_8_demo" "MWI_4_9_demo"
mf_out$sex %>% unique()
## [1] "both" "female" "male"
mf_out$age_group %>% unique()
## [1] "Y000_004" "Y000_014" "Y000_064" "Y000_999" "Y005_009" "Y010_014" "Y010_019" "Y015_019" "Y015_024" "Y015_049" "Y015_064" "Y015_999" "Y020_024" "Y025_029" "Y025_034" "Y025_049" "Y030_034"
## [18] "Y035_039" "Y035_049" "Y040_044" "Y045_049" "Y050_054" "Y050_064" "Y050_999" "Y055_059" "Y060_064" "Y065_069" "Y065_999" "Y070_074" "Y075_079" "Y080_999"
mf_out_fine <- mf_out %>%
tibble::rownames_to_column("id") %>%
mutate(id = as.numeric(id)) %>%
filter(
area_id %in% paste0("MWI_4_", 1:32, "_demo"),
sex %in% c("male", "female"),
age_group %in%
c(
"Y000_004", "Y005_009", "Y010_014", "Y015_019", "Y020_024", "Y025_029",
"Y025_034", "Y030_034", "Y035_039", "Y040_044", "Y045_049", "Y050_054",
"Y055_059", "Y060_064", "Y065_069", "Y070_074", "Y075_079", "Y080_999"
)
)
An id column has been added to mf_out_fine to enable merging to the samples.
head(mf_out_fine)
nrow(mf_out_fine)
## [1] 1152
rho_t1_out_fine <- tmb$fit$sample$rho_t1_out[mf_out_fine$id, ]
dim(rho_t1_out_fine)
## [1] 1152 1000
rho_t1_out_fine[1:10, 1:10]
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 0.003475839 0.003667526 0.003772017 0.003670830 0.003084421 0.003381271 0.003227835 0.003240394 0.003243281 0.003140848
## [2,] 0.005383996 0.005680915 0.005842769 0.005686032 0.004777698 0.005237512 0.004999844 0.005019297 0.005023768 0.004865102
## [3,] 0.006455132 0.006811122 0.007005176 0.006817257 0.005728212 0.006279505 0.005994553 0.006017877 0.006023238 0.005833005
## [4,] 0.010537810 0.013036405 0.010803304 0.012115244 0.008440319 0.009413301 0.009728890 0.009145472 0.009130840 0.008276510
## [5,] 0.027403103 0.026320700 0.028744722 0.027666183 0.020696399 0.025604750 0.023652769 0.022730970 0.024487682 0.026568189
## [6,] 0.053177866 0.052120950 0.056024483 0.049817320 0.043130748 0.045152278 0.045047404 0.048507542 0.045410425 0.047294740
## [7,] 0.062490740 0.066736508 0.069409553 0.063366683 0.054919044 0.057670696 0.058735515 0.057784846 0.056701005 0.055864714
## [8,] 0.075608754 0.087323825 0.088263617 0.082452168 0.071523909 0.075304006 0.078016440 0.070852756 0.072604794 0.067936286
## [9,] 0.106334220 0.112370623 0.111696858 0.113255673 0.099951306 0.105550418 0.094606976 0.097801372 0.107369936 0.103324468
## [10,] 0.114587139 0.110216218 0.113231040 0.119736201 0.101027883 0.117628993 0.099670952 0.107664312 0.100897850 0.098092128
Something weird happening with adam, go back and check this:
histogram_and_ecdf(par = "rho_t1_out", i = 1)
ks_helper <- function(par, starts_with = FALSE, ...) {
to_ks_df(par, starts_with = starts_with) %>% ks_plot(par, ...)
}
betaks_helper("beta", starts_with = TRUE)
logitks_helper("logit", starts_with = TRUE)
log_sigmaks_helper("log_sigma", starts_with = TRUE)
u_rho_xks_helper("u_rho_x")
u_rho_xsks_helper("u_rho_xs")
us_rho_xks_helper("us_rho_x")
us_rho_xsks_helper("us_rho_xs")
u_rho_aks_helper("u_rho_a")
u_rho_asks_helper("u_rho_as")
u_alpha_xks_helper("u_alpha_x")
u_alpha_xsks_helper("u_alpha_xs")
us_alpha_xks_helper("us_alpha_x")
us_alpha_xsks_helper("us_alpha_xs")
u_alpha_aks_helper("u_alpha_a")
u_alpha_asks_helper("u_alpha_as")
u_alpha_xaks_helper("u_alpha_xa")
ui_anc_rho_xks_helper("ui_anc_rho_x")
ui_anc_alpha_xks_helper("ui_anc_alpha_x")
log_or_gammaks_helper("log_or_gamma")
ks_df_out <- function(par) {
to_ks_df(par = par, outputs = TRUE, id = mf_out_fine$id) %>%
select(-par) %>%
left_join(
mf_out_fine %>%
rename("full_id" = "id") %>%
tibble::rowid_to_column("index") %>%
mutate(index = as.numeric(index))
)
}
ks_rho_t1_out <- ks_df_out(par = "rho_t1_out")
## Joining, by = "index"
ks_alpha_t1_out <- ks_df_out(par = "alpha_t1_out")
## Joining, by = "index"
ks_lambda_t1_out <- ks_df_out(par = "lambda_t1_out")
## Joining, by = "index"
ks_plot(ks_df = ks_rho_t1_out, par = "rho_t1_out", alpha = 0.2)
ks_plot(ks_df = ks_alpha_t1_out, par = "alpha_t1_out", alpha = 0.2)
ks_plot(ks_df = ks_lambda_t1_out, par = "lambda_t1_out", alpha = 0.2)
What is going on with those very low values of KS? It’s that there are new new infections in those age groups, and the posterior samples from each method are exactly the same, in particular draws of only zero.
ks_lambda_t1_out %>%
filter(ks == 0) %>%
group_by(method) %>%
summarise(n = n())
ks_lambda_t1_out %>%
filter(ks == 0) %>%
pull(age_group) %>%
unique()
## [1] "Y005_009" "Y010_014" "Y080_999"
Values in dark blue are the lowest KS difference for that particular parameter:
options(dplyr.summarise.inform = FALSE)
ks_summary <- lapply(unique(names(tmb$fit$obj$env$par)), function(x) {
to_ks_df(x) %>%
group_by(method, index) %>%
summarise(ks = mean(ks), par = x) %>%
ungroup()
}) %>%
bind_rows() %>%
pivot_wider(names_from = "method", values_from = "ks") %>%
rename(
"Parameter" = "par",
"KS(adam, tmbstan)" = "adam",
"KS(aghq, tmbstan)" = "aghq",
"KS(TMB, tmbstan)" = "TMB",
)
r <- adam$quad$obj$env$random
x_names <- names(adam$quad$obj$env$par[r])
theta_names <- names(adam$quad$obj$env$par[-r])
dict <- data.frame(
Parameter = c(unique(x_names), unique(theta_names)),
Type = c(rep("Latent field", length(unique(x_names))), rep("Hyper", length(unique(theta_names))))
)
ks_summary <- ks_summary %>%
left_join(dict, by = "Parameter")
ks_summary %>%
gt::gt() %>%
gt::fmt_number(
columns = starts_with("KS"),
decimals = 3
) %>%
gt::tab_style(
style = cell_fill(color = "#0072B2"),
locations = cells_body(
columns = `KS(adam, tmbstan)`,
rows = `KS(adam, tmbstan)` < `KS(aghq, tmbstan)` & `KS(adam, tmbstan)` < `KS(TMB, tmbstan)`
)
) %>%
gt::tab_style(
style = cell_fill(color = "#0072B2"),
locations = cells_body(
columns = `KS(aghq, tmbstan)`,
rows = `KS(aghq, tmbstan)` < `KS(adam, tmbstan)` & `KS(aghq, tmbstan)` < `KS(TMB, tmbstan)`
)
) %>%
gt::tab_style(
style = cell_fill(color = "#0072B2"),
locations = cells_body(
columns = `KS(TMB, tmbstan)`,
rows = `KS(TMB, tmbstan)` < `KS(aghq, tmbstan)` & `KS(TMB, tmbstan)` < `KS(adam, tmbstan)`
)
)
| index | Parameter | KS(adam, tmbstan) | KS(aghq, tmbstan) | KS(TMB, tmbstan) | Type |
|---|---|---|---|---|---|
| 1 | beta_rho | 0.073 | 0.080 | 0.076 | Latent field |
| 2 | beta_rho | 0.074 | 0.065 | 0.074 | Latent field |
| 1 | beta_alpha | 0.069 | 0.040 | 0.068 | Latent field |
| 2 | beta_alpha | 0.111 | 0.111 | 0.102 | Latent field |
| 1 | beta_lambda | 0.031 | 0.095 | 0.147 | Latent field |
| 2 | beta_lambda | 0.023 | 0.046 | 0.043 | Latent field |
| 1 | beta_anc_rho | 0.032 | 0.113 | 0.092 | Latent field |
| 1 | beta_anc_alpha | 0.084 | 0.077 | 0.046 | Latent field |
| 1 | logit_phi_rho_x | 0.562 | 0.562 | 0.139 | Hyper |
| 1 | log_sigma_rho_x | 0.642 | 0.642 | 0.157 | Hyper |
| 1 | logit_phi_rho_xs | 0.535 | 0.535 | 0.104 | Hyper |
| 1 | log_sigma_rho_xs | 0.669 | 0.669 | 0.277 | Hyper |
| 1 | logit_phi_rho_a | 0.508 | 0.508 | 0.065 | Hyper |
| 1 | log_sigma_rho_a | 0.566 | 0.566 | 0.105 | Hyper |
| 1 | logit_phi_rho_as | 0.545 | 0.545 | 0.108 | Hyper |
| 1 | log_sigma_rho_as | 0.570 | 0.570 | 0.152 | Hyper |
| 1 | log_sigma_rho_xa | 0.680 | 0.680 | 0.207 | Hyper |
| 1 | u_rho_x | 0.050 | 0.055 | 0.082 | Latent field |
| 2 | u_rho_x | 0.041 | 0.105 | 0.075 | Latent field |
| 3 | u_rho_x | 0.031 | 0.020 | 0.035 | Latent field |
| 4 | u_rho_x | 0.037 | 0.090 | 0.090 | Latent field |
| 5 | u_rho_x | 0.125 | 0.062 | 0.091 | Latent field |
| 6 | u_rho_x | 0.125 | 0.152 | 0.133 | Latent field |
| 7 | u_rho_x | 0.084 | 0.157 | 0.174 | Latent field |
| 8 | u_rho_x | 0.059 | 0.041 | 0.045 | Latent field |
| 9 | u_rho_x | 0.042 | 0.067 | 0.052 | Latent field |
| 10 | u_rho_x | 0.052 | 0.082 | 0.125 | Latent field |
| 11 | u_rho_x | 0.062 | 0.045 | 0.035 | Latent field |
| 12 | u_rho_x | 0.116 | 0.149 | 0.175 | Latent field |
| 13 | u_rho_x | 0.038 | 0.050 | 0.039 | Latent field |
| 14 | u_rho_x | 0.094 | 0.086 | 0.100 | Latent field |
| 15 | u_rho_x | 0.058 | 0.019 | 0.026 | Latent field |
| 16 | u_rho_x | 0.045 | 0.031 | 0.028 | Latent field |
| 17 | u_rho_x | 0.020 | 0.031 | 0.049 | Latent field |
| 18 | u_rho_x | 0.063 | 0.031 | 0.029 | Latent field |
| 19 | u_rho_x | 0.097 | 0.044 | 0.051 | Latent field |
| 20 | u_rho_x | 0.038 | 0.023 | 0.018 | Latent field |
| 21 | u_rho_x | 0.045 | 0.096 | 0.075 | Latent field |
| 22 | u_rho_x | 0.164 | 0.131 | 0.126 | Latent field |
| 23 | u_rho_x | 0.057 | 0.038 | 0.044 | Latent field |
| 24 | u_rho_x | 0.105 | 0.036 | 0.059 | Latent field |
| 25 | u_rho_x | 0.045 | 0.062 | 0.075 | Latent field |
| 26 | u_rho_x | 0.065 | 0.033 | 0.034 | Latent field |
| 27 | u_rho_x | 0.099 | 0.099 | 0.061 | Latent field |
| 28 | u_rho_x | 0.030 | 0.034 | 0.064 | Latent field |
| 29 | u_rho_x | 0.072 | 0.087 | 0.106 | Latent field |
| 30 | u_rho_x | 0.070 | 0.042 | 0.055 | Latent field |
| 31 | u_rho_x | 0.067 | 0.048 | 0.063 | Latent field |
| 32 | u_rho_x | 0.035 | 0.092 | 0.102 | Latent field |
| 1 | us_rho_x | 0.134 | 0.170 | 0.141 | Latent field |
| 2 | us_rho_x | 0.135 | 0.107 | 0.099 | Latent field |
| 3 | us_rho_x | 0.106 | 0.084 | 0.101 | Latent field |
| 4 | us_rho_x | 0.105 | 0.082 | 0.101 | Latent field |
| 5 | us_rho_x | 0.079 | 0.067 | 0.076 | Latent field |
| 6 | us_rho_x | 0.203 | 0.194 | 0.133 | Latent field |
| 7 | us_rho_x | 0.057 | 0.061 | 0.043 | Latent field |
| 8 | us_rho_x | 0.075 | 0.068 | 0.099 | Latent field |
| 9 | us_rho_x | 0.070 | 0.055 | 0.062 | Latent field |
| 10 | us_rho_x | 0.062 | 0.073 | 0.051 | Latent field |
| 11 | us_rho_x | 0.088 | 0.085 | 0.089 | Latent field |
| 12 | us_rho_x | 0.109 | 0.087 | 0.103 | Latent field |
| 13 | us_rho_x | 0.073 | 0.054 | 0.078 | Latent field |
| 14 | us_rho_x | 0.057 | 0.085 | 0.061 | Latent field |
| 15 | us_rho_x | 0.057 | 0.070 | 0.047 | Latent field |
| 16 | us_rho_x | 0.062 | 0.081 | 0.083 | Latent field |
| 17 | us_rho_x | 0.040 | 0.058 | 0.091 | Latent field |
| 18 | us_rho_x | 0.110 | 0.114 | 0.091 | Latent field |
| 19 | us_rho_x | 0.062 | 0.127 | 0.064 | Latent field |
| 20 | us_rho_x | 0.106 | 0.138 | 0.097 | Latent field |
| 21 | us_rho_x | 0.096 | 0.085 | 0.095 | Latent field |
| 22 | us_rho_x | 0.114 | 0.075 | 0.102 | Latent field |
| 23 | us_rho_x | 0.092 | 0.072 | 0.088 | Latent field |
| 24 | us_rho_x | 0.035 | 0.037 | 0.054 | Latent field |
| 25 | us_rho_x | 0.062 | 0.098 | 0.087 | Latent field |
| 26 | us_rho_x | 0.079 | 0.080 | 0.076 | Latent field |
| 27 | us_rho_x | 0.052 | 0.031 | 0.029 | Latent field |
| 28 | us_rho_x | 0.059 | 0.043 | 0.064 | Latent field |
| 29 | us_rho_x | 0.072 | 0.108 | 0.095 | Latent field |
| 30 | us_rho_x | 0.084 | 0.066 | 0.075 | Latent field |
| 31 | us_rho_x | 0.051 | 0.058 | 0.054 | Latent field |
| 32 | us_rho_x | 0.109 | 0.040 | 0.081 | Latent field |
| 1 | u_rho_xs | 0.128 | 0.080 | 0.081 | Latent field |
| 2 | u_rho_xs | 0.087 | 0.111 | 0.089 | Latent field |
| 3 | u_rho_xs | 0.112 | 0.123 | 0.133 | Latent field |
| 4 | u_rho_xs | 0.119 | 0.104 | 0.159 | Latent field |
| 5 | u_rho_xs | 0.193 | 0.163 | 0.152 | Latent field |
| 6 | u_rho_xs | 0.268 | 0.227 | 0.227 | Latent field |
| 7 | u_rho_xs | 0.190 | 0.200 | 0.176 | Latent field |
| 8 | u_rho_xs | 0.107 | 0.107 | 0.114 | Latent field |
| 9 | u_rho_xs | 0.123 | 0.139 | 0.135 | Latent field |
| 10 | u_rho_xs | 0.084 | 0.078 | 0.090 | Latent field |
| 11 | u_rho_xs | 0.105 | 0.098 | 0.103 | Latent field |
| 12 | u_rho_xs | 0.246 | 0.204 | 0.225 | Latent field |
| 13 | u_rho_xs | 0.104 | 0.135 | 0.129 | Latent field |
| 14 | u_rho_xs | 0.138 | 0.136 | 0.146 | Latent field |
| 15 | u_rho_xs | 0.159 | 0.151 | 0.149 | Latent field |
| 16 | u_rho_xs | 0.103 | 0.104 | 0.085 | Latent field |
| 17 | u_rho_xs | 0.102 | 0.095 | 0.104 | Latent field |
| 18 | u_rho_xs | 0.187 | 0.145 | 0.192 | Latent field |
| 19 | u_rho_xs | 0.172 | 0.150 | 0.152 | Latent field |
| 20 | u_rho_xs | 0.130 | 0.101 | 0.116 | Latent field |
| 21 | u_rho_xs | 0.110 | 0.127 | 0.134 | Latent field |
| 22 | u_rho_xs | 0.262 | 0.234 | 0.210 | Latent field |
| 23 | u_rho_xs | 0.165 | 0.167 | 0.156 | Latent field |
| 24 | u_rho_xs | 0.211 | 0.185 | 0.190 | Latent field |
| 25 | u_rho_xs | 0.115 | 0.100 | 0.107 | Latent field |
| 26 | u_rho_xs | 0.146 | 0.146 | 0.140 | Latent field |
| 27 | u_rho_xs | 0.205 | 0.177 | 0.181 | Latent field |
| 28 | u_rho_xs | 0.139 | 0.118 | 0.139 | Latent field |
| 29 | u_rho_xs | 0.203 | 0.173 | 0.165 | Latent field |
| 30 | u_rho_xs | 0.144 | 0.120 | 0.148 | Latent field |
| 31 | u_rho_xs | 0.155 | 0.135 | 0.137 | Latent field |
| 32 | u_rho_xs | 0.135 | 0.124 | 0.116 | Latent field |
| 1 | us_rho_xs | 0.036 | 0.036 | 0.037 | Latent field |
| 2 | us_rho_xs | 0.023 | 0.024 | 0.049 | Latent field |
| 3 | us_rho_xs | 0.027 | 0.031 | 0.042 | Latent field |
| 4 | us_rho_xs | 0.016 | 0.035 | 0.053 | Latent field |
| 5 | us_rho_xs | 0.044 | 0.045 | 0.048 | Latent field |
| 6 | us_rho_xs | 0.034 | 0.056 | 0.038 | Latent field |
| 7 | us_rho_xs | 0.077 | 0.060 | 0.033 | Latent field |
| 8 | us_rho_xs | 0.035 | 0.049 | 0.040 | Latent field |
| 9 | us_rho_xs | 0.028 | 0.039 | 0.028 | Latent field |
| 10 | us_rho_xs | 0.051 | 0.024 | 0.033 | Latent field |
| 11 | us_rho_xs | 0.026 | 0.037 | 0.033 | Latent field |
| 12 | us_rho_xs | 0.052 | 0.050 | 0.031 | Latent field |
| 13 | us_rho_xs | 0.040 | 0.039 | 0.022 | Latent field |
| 14 | us_rho_xs | 0.022 | 0.028 | 0.037 | Latent field |
| 15 | us_rho_xs | 0.032 | 0.056 | 0.035 | Latent field |
| 16 | us_rho_xs | 0.021 | 0.050 | 0.030 | Latent field |
| 17 | us_rho_xs | 0.027 | 0.025 | 0.019 | Latent field |
| 18 | us_rho_xs | 0.030 | 0.037 | 0.020 | Latent field |
| 19 | us_rho_xs | 0.041 | 0.044 | 0.019 | Latent field |
| 20 | us_rho_xs | 0.030 | 0.044 | 0.022 | Latent field |
| 21 | us_rho_xs | 0.041 | 0.027 | 0.025 | Latent field |
| 22 | us_rho_xs | 0.040 | 0.039 | 0.058 | Latent field |
| 23 | us_rho_xs | 0.045 | 0.042 | 0.063 | Latent field |
| 24 | us_rho_xs | 0.038 | 0.038 | 0.046 | Latent field |
| 25 | us_rho_xs | 0.076 | 0.049 | 0.068 | Latent field |
| 26 | us_rho_xs | 0.043 | 0.040 | 0.047 | Latent field |
| 27 | us_rho_xs | 0.047 | 0.022 | 0.030 | Latent field |
| 28 | us_rho_xs | 0.041 | 0.036 | 0.038 | Latent field |
| 29 | us_rho_xs | 0.031 | 0.051 | 0.037 | Latent field |
| 30 | us_rho_xs | 0.053 | 0.032 | 0.032 | Latent field |
| 31 | us_rho_xs | 0.042 | 0.045 | 0.048 | Latent field |
| 32 | us_rho_xs | 0.031 | 0.031 | 0.035 | Latent field |
| 1 | u_rho_a | 0.075 | 0.077 | 0.078 | Latent field |
| 2 | u_rho_a | 0.074 | 0.084 | 0.074 | Latent field |
| 3 | u_rho_a | 0.069 | 0.084 | 0.079 | Latent field |
| 4 | u_rho_a | 0.081 | 0.082 | 0.074 | Latent field |
| 5 | u_rho_a | 0.069 | 0.084 | 0.073 | Latent field |
| 6 | u_rho_a | 0.086 | 0.082 | 0.075 | Latent field |
| 7 | u_rho_a | 0.070 | 0.090 | 0.077 | Latent field |
| 8 | u_rho_a | 0.073 | 0.080 | 0.075 | Latent field |
| 9 | u_rho_a | 0.081 | 0.078 | 0.072 | Latent field |
| 10 | u_rho_a | 0.080 | 0.087 | 0.072 | Latent field |
| 1 | u_rho_as | 0.072 | 0.041 | 0.075 | Latent field |
| 2 | u_rho_as | 0.072 | 0.063 | 0.077 | Latent field |
| 3 | u_rho_as | 0.072 | 0.059 | 0.074 | Latent field |
| 4 | u_rho_as | 0.078 | 0.064 | 0.072 | Latent field |
| 5 | u_rho_as | 0.065 | 0.061 | 0.074 | Latent field |
| 6 | u_rho_as | 0.069 | 0.060 | 0.073 | Latent field |
| 7 | u_rho_as | 0.071 | 0.056 | 0.071 | Latent field |
| 8 | u_rho_as | 0.060 | 0.061 | 0.073 | Latent field |
| 9 | u_rho_as | 0.072 | 0.080 | 0.074 | Latent field |
| 10 | u_rho_as | 0.078 | 0.085 | 0.076 | Latent field |
| 1 | logit_phi_alpha_x | 0.509 | 0.509 | 0.101 | Hyper |
| 1 | log_sigma_alpha_x | 0.549 | 0.549 | 0.148 | Hyper |
| 1 | logit_phi_alpha_xs | 0.568 | 0.568 | 0.128 | Hyper |
| 1 | log_sigma_alpha_xs | 0.513 | 0.513 | 0.133 | Hyper |
| 1 | logit_phi_alpha_a | 0.553 | 0.553 | 0.099 | Hyper |
| 1 | log_sigma_alpha_a | 0.580 | 0.580 | 0.122 | Hyper |
| 1 | logit_phi_alpha_as | 0.537 | 0.537 | 0.058 | Hyper |
| 1 | log_sigma_alpha_as | 0.533 | 0.533 | 0.092 | Hyper |
| 1 | log_sigma_alpha_xa | 0.656 | 0.656 | 0.171 | Hyper |
| 1 | u_alpha_x | 0.122 | 0.120 | 0.145 | Latent field |
| 2 | u_alpha_x | 0.126 | 0.111 | 0.140 | Latent field |
| 3 | u_alpha_x | 0.114 | 0.095 | 0.129 | Latent field |
| 4 | u_alpha_x | 0.142 | 0.137 | 0.158 | Latent field |
| 5 | u_alpha_x | 0.139 | 0.109 | 0.135 | Latent field |
| 6 | u_alpha_x | 0.104 | 0.083 | 0.094 | Latent field |
| 7 | u_alpha_x | 0.107 | 0.059 | 0.059 | Latent field |
| 8 | u_alpha_x | 0.177 | 0.135 | 0.141 | Latent field |
| 9 | u_alpha_x | 0.161 | 0.129 | 0.145 | Latent field |
| 10 | u_alpha_x | 0.185 | 0.132 | 0.136 | Latent field |
| 11 | u_alpha_x | 0.154 | 0.113 | 0.150 | Latent field |
| 12 | u_alpha_x | 0.116 | 0.056 | 0.074 | Latent field |
| 13 | u_alpha_x | 0.158 | 0.093 | 0.136 | Latent field |
| 14 | u_alpha_x | 0.087 | 0.047 | 0.072 | Latent field |
| 15 | u_alpha_x | 0.099 | 0.073 | 0.085 | Latent field |
| 16 | u_alpha_x | 0.059 | 0.058 | 0.068 | Latent field |
| 17 | u_alpha_x | 0.090 | 0.092 | 0.119 | Latent field |
| 18 | u_alpha_x | 0.123 | 0.140 | 0.119 | Latent field |
| 19 | u_alpha_x | 0.112 | 0.117 | 0.118 | Latent field |
| 20 | u_alpha_x | 0.118 | 0.109 | 0.112 | Latent field |
| 21 | u_alpha_x | 0.171 | 0.148 | 0.150 | Latent field |
| 22 | u_alpha_x | 0.119 | 0.116 | 0.150 | Latent field |
| 23 | u_alpha_x | 0.134 | 0.119 | 0.142 | Latent field |
| 24 | u_alpha_x | 0.133 | 0.081 | 0.105 | Latent field |
| 25 | u_alpha_x | 0.099 | 0.089 | 0.137 | Latent field |
| 26 | u_alpha_x | 0.117 | 0.071 | 0.101 | Latent field |
| 27 | u_alpha_x | 0.131 | 0.132 | 0.145 | Latent field |
| 28 | u_alpha_x | 0.091 | 0.078 | 0.087 | Latent field |
| 29 | u_alpha_x | 0.098 | 0.097 | 0.107 | Latent field |
| 30 | u_alpha_x | 0.109 | 0.087 | 0.119 | Latent field |
| 31 | u_alpha_x | 0.086 | 0.052 | 0.081 | Latent field |
| 32 | u_alpha_x | 0.069 | 0.061 | 0.070 | Latent field |
| 1 | us_alpha_x | 0.069 | 0.076 | 0.074 | Latent field |
| 2 | us_alpha_x | 0.070 | 0.062 | 0.053 | Latent field |
| 3 | us_alpha_x | 0.085 | 0.066 | 0.074 | Latent field |
| 4 | us_alpha_x | 0.066 | 0.068 | 0.098 | Latent field |
| 5 | us_alpha_x | 0.107 | 0.067 | 0.100 | Latent field |
| 6 | us_alpha_x | 0.094 | 0.063 | 0.078 | Latent field |
| 7 | us_alpha_x | 0.025 | 0.026 | 0.031 | Latent field |
| 8 | us_alpha_x | 0.144 | 0.070 | 0.119 | Latent field |
| 9 | us_alpha_x | 0.135 | 0.075 | 0.100 | Latent field |
| 10 | us_alpha_x | 0.131 | 0.067 | 0.098 | Latent field |
| 11 | us_alpha_x | 0.103 | 0.057 | 0.099 | Latent field |
| 12 | us_alpha_x | 0.098 | 0.048 | 0.081 | Latent field |
| 13 | us_alpha_x | 0.103 | 0.061 | 0.096 | Latent field |
| 14 | us_alpha_x | 0.064 | 0.051 | 0.024 | Latent field |
| 15 | us_alpha_x | 0.087 | 0.050 | 0.074 | Latent field |
| 16 | us_alpha_x | 0.043 | 0.035 | 0.035 | Latent field |
| 17 | us_alpha_x | 0.092 | 0.065 | 0.081 | Latent field |
| 18 | us_alpha_x | 0.084 | 0.076 | 0.081 | Latent field |
| 19 | us_alpha_x | 0.084 | 0.073 | 0.083 | Latent field |
| 20 | us_alpha_x | 0.083 | 0.074 | 0.103 | Latent field |
| 21 | us_alpha_x | 0.131 | 0.083 | 0.118 | Latent field |
| 22 | us_alpha_x | 0.184 | 0.106 | 0.137 | Latent field |
| 23 | us_alpha_x | 0.084 | 0.077 | 0.084 | Latent field |
| 24 | us_alpha_x | 0.103 | 0.064 | 0.072 | Latent field |
| 25 | us_alpha_x | 0.102 | 0.061 | 0.099 | Latent field |
| 26 | us_alpha_x | 0.074 | 0.061 | 0.075 | Latent field |
| 27 | us_alpha_x | 0.077 | 0.057 | 0.083 | Latent field |
| 28 | us_alpha_x | 0.066 | 0.047 | 0.060 | Latent field |
| 29 | us_alpha_x | 0.106 | 0.086 | 0.087 | Latent field |
| 30 | us_alpha_x | 0.072 | 0.040 | 0.074 | Latent field |
| 31 | us_alpha_x | 0.051 | 0.035 | 0.040 | Latent field |
| 32 | us_alpha_x | 0.041 | 0.030 | 0.029 | Latent field |
| 1 | u_alpha_xs | 0.034 | 0.069 | 0.050 | Latent field |
| 2 | u_alpha_xs | 0.069 | 0.066 | 0.094 | Latent field |
| 3 | u_alpha_xs | 0.034 | 0.073 | 0.042 | Latent field |
| 4 | u_alpha_xs | 0.132 | 0.138 | 0.149 | Latent field |
| 5 | u_alpha_xs | 0.128 | 0.050 | 0.090 | Latent field |
| 6 | u_alpha_xs | 0.033 | 0.043 | 0.056 | Latent field |
| 7 | u_alpha_xs | 0.051 | 0.057 | 0.063 | Latent field |
| 8 | u_alpha_xs | 0.068 | 0.067 | 0.056 | Latent field |
| 9 | u_alpha_xs | 0.085 | 0.059 | 0.058 | Latent field |
| 10 | u_alpha_xs | 0.096 | 0.084 | 0.126 | Latent field |
| 11 | u_alpha_xs | 0.129 | 0.080 | 0.099 | Latent field |
| 12 | u_alpha_xs | 0.107 | 0.094 | 0.104 | Latent field |
| 13 | u_alpha_xs | 0.104 | 0.043 | 0.109 | Latent field |
| 14 | u_alpha_xs | 0.049 | 0.076 | 0.050 | Latent field |
| 15 | u_alpha_xs | 0.106 | 0.103 | 0.111 | Latent field |
| 16 | u_alpha_xs | 0.123 | 0.103 | 0.074 | Latent field |
| 17 | u_alpha_xs | 0.085 | 0.063 | 0.083 | Latent field |
| 18 | u_alpha_xs | 0.148 | 0.161 | 0.061 | Latent field |
| 19 | u_alpha_xs | 0.059 | 0.053 | 0.074 | Latent field |
| 20 | u_alpha_xs | 0.047 | 0.051 | 0.099 | Latent field |
| 21 | u_alpha_xs | 0.086 | 0.079 | 0.046 | Latent field |
| 22 | u_alpha_xs | 0.166 | 0.120 | 0.107 | Latent field |
| 23 | u_alpha_xs | 0.089 | 0.070 | 0.104 | Latent field |
| 24 | u_alpha_xs | 0.133 | 0.100 | 0.105 | Latent field |
| 25 | u_alpha_xs | 0.155 | 0.101 | 0.159 | Latent field |
| 26 | u_alpha_xs | 0.064 | 0.052 | 0.059 | Latent field |
| 27 | u_alpha_xs | 0.119 | 0.126 | 0.120 | Latent field |
| 28 | u_alpha_xs | 0.083 | 0.036 | 0.073 | Latent field |
| 29 | u_alpha_xs | 0.173 | 0.121 | 0.086 | Latent field |
| 30 | u_alpha_xs | 0.095 | 0.078 | 0.090 | Latent field |
| 31 | u_alpha_xs | 0.117 | 0.054 | 0.080 | Latent field |
| 32 | u_alpha_xs | 0.119 | 0.065 | 0.098 | Latent field |
| 1 | us_alpha_xs | 0.042 | 0.038 | 0.048 | Latent field |
| 2 | us_alpha_xs | 0.032 | 0.068 | 0.054 | Latent field |
| 3 | us_alpha_xs | 0.049 | 0.034 | 0.056 | Latent field |
| 4 | us_alpha_xs | 0.058 | 0.070 | 0.091 | Latent field |
| 5 | us_alpha_xs | 0.070 | 0.070 | 0.068 | Latent field |
| 6 | us_alpha_xs | 0.061 | 0.071 | 0.070 | Latent field |
| 7 | us_alpha_xs | 0.034 | 0.032 | 0.037 | Latent field |
| 8 | us_alpha_xs | 0.093 | 0.057 | 0.087 | Latent field |
| 9 | us_alpha_xs | 0.100 | 0.065 | 0.098 | Latent field |
| 10 | us_alpha_xs | 0.114 | 0.070 | 0.083 | Latent field |
| 11 | us_alpha_xs | 0.101 | 0.091 | 0.102 | Latent field |
| 12 | us_alpha_xs | 0.098 | 0.089 | 0.109 | Latent field |
| 13 | us_alpha_xs | 0.116 | 0.053 | 0.100 | Latent field |
| 14 | us_alpha_xs | 0.069 | 0.033 | 0.076 | Latent field |
| 15 | us_alpha_xs | 0.110 | 0.091 | 0.131 | Latent field |
| 16 | us_alpha_xs | 0.142 | 0.061 | 0.127 | Latent field |
| 17 | us_alpha_xs | 0.082 | 0.024 | 0.066 | Latent field |
| 18 | us_alpha_xs | 0.111 | 0.027 | 0.083 | Latent field |
| 19 | us_alpha_xs | 0.037 | 0.056 | 0.032 | Latent field |
| 20 | us_alpha_xs | 0.034 | 0.045 | 0.037 | Latent field |
| 21 | us_alpha_xs | 0.070 | 0.026 | 0.057 | Latent field |
| 22 | us_alpha_xs | 0.096 | 0.090 | 0.087 | Latent field |
| 23 | us_alpha_xs | 0.125 | 0.064 | 0.106 | Latent field |
| 24 | us_alpha_xs | 0.150 | 0.082 | 0.120 | Latent field |
| 25 | us_alpha_xs | 0.084 | 0.070 | 0.091 | Latent field |
| 26 | us_alpha_xs | 0.155 | 0.084 | 0.124 | Latent field |
| 27 | us_alpha_xs | 0.141 | 0.079 | 0.132 | Latent field |
| 28 | us_alpha_xs | 0.115 | 0.073 | 0.081 | Latent field |
| 29 | us_alpha_xs | 0.137 | 0.079 | 0.126 | Latent field |
| 30 | us_alpha_xs | 0.166 | 0.085 | 0.159 | Latent field |
| 31 | us_alpha_xs | 0.130 | 0.072 | 0.125 | Latent field |
| 32 | us_alpha_xs | 0.140 | 0.070 | 0.126 | Latent field |
| 1 | u_alpha_a | 0.055 | 0.033 | 0.062 | Latent field |
| 2 | u_alpha_a | 0.069 | 0.036 | 0.064 | Latent field |
| 3 | u_alpha_a | 0.066 | 0.031 | 0.061 | Latent field |
| 4 | u_alpha_a | 0.052 | 0.035 | 0.068 | Latent field |
| 5 | u_alpha_a | 0.073 | 0.037 | 0.069 | Latent field |
| 6 | u_alpha_a | 0.060 | 0.025 | 0.065 | Latent field |
| 7 | u_alpha_a | 0.069 | 0.023 | 0.066 | Latent field |
| 8 | u_alpha_a | 0.068 | 0.030 | 0.066 | Latent field |
| 9 | u_alpha_a | 0.065 | 0.042 | 0.066 | Latent field |
| 10 | u_alpha_a | 0.064 | 0.036 | 0.065 | Latent field |
| 11 | u_alpha_a | 0.075 | 0.034 | 0.065 | Latent field |
| 12 | u_alpha_a | 0.067 | 0.044 | 0.068 | Latent field |
| 13 | u_alpha_a | 0.066 | 0.042 | 0.063 | Latent field |
| 1 | u_alpha_as | 0.067 | 0.094 | 0.077 | Latent field |
| 2 | u_alpha_as | 0.100 | 0.103 | 0.098 | Latent field |
| 3 | u_alpha_as | 0.120 | 0.104 | 0.113 | Latent field |
| 4 | u_alpha_as | 0.129 | 0.104 | 0.119 | Latent field |
| 5 | u_alpha_as | 0.155 | 0.103 | 0.103 | Latent field |
| 6 | u_alpha_as | 0.094 | 0.074 | 0.091 | Latent field |
| 7 | u_alpha_as | 0.077 | 0.067 | 0.059 | Latent field |
| 8 | u_alpha_as | 0.060 | 0.057 | 0.054 | Latent field |
| 9 | u_alpha_as | 0.059 | 0.040 | 0.062 | Latent field |
| 10 | u_alpha_as | 0.064 | 0.044 | 0.061 | Latent field |
| 1 | u_alpha_xa | 0.033 | 0.056 | 0.052 | Latent field |
| 2 | u_alpha_xa | 0.067 | 0.039 | 0.022 | Latent field |
| 3 | u_alpha_xa | 0.058 | 0.036 | 0.025 | Latent field |
| 4 | u_alpha_xa | 0.080 | 0.063 | 0.071 | Latent field |
| 5 | u_alpha_xa | 0.109 | 0.074 | 0.094 | Latent field |
| 6 | u_alpha_xa | 0.109 | 0.122 | 0.085 | Latent field |
| 7 | u_alpha_xa | 0.081 | 0.088 | 0.061 | Latent field |
| 8 | u_alpha_xa | 0.061 | 0.048 | 0.060 | Latent field |
| 9 | u_alpha_xa | 0.069 | 0.037 | 0.044 | Latent field |
| 10 | u_alpha_xa | 0.103 | 0.092 | 0.109 | Latent field |
| 11 | u_alpha_xa | 0.094 | 0.086 | 0.139 | Latent field |
| 12 | u_alpha_xa | 0.116 | 0.068 | 0.100 | Latent field |
| 13 | u_alpha_xa | 0.073 | 0.017 | 0.065 | Latent field |
| 14 | u_alpha_xa | 0.084 | 0.094 | 0.075 | Latent field |
| 15 | u_alpha_xa | 0.054 | 0.043 | 0.050 | Latent field |
| 16 | u_alpha_xa | 0.038 | 0.052 | 0.042 | Latent field |
| 17 | u_alpha_xa | 0.046 | 0.032 | 0.024 | Latent field |
| 18 | u_alpha_xa | 0.038 | 0.037 | 0.025 | Latent field |
| 19 | u_alpha_xa | 0.098 | 0.053 | 0.083 | Latent field |
| 20 | u_alpha_xa | 0.042 | 0.039 | 0.059 | Latent field |
| 21 | u_alpha_xa | 0.082 | 0.077 | 0.078 | Latent field |
| 22 | u_alpha_xa | 0.218 | 0.184 | 0.188 | Latent field |
| 23 | u_alpha_xa | 0.024 | 0.037 | 0.055 | Latent field |
| 24 | u_alpha_xa | 0.061 | 0.020 | 0.050 | Latent field |
| 25 | u_alpha_xa | 0.091 | 0.063 | 0.093 | Latent field |
| 26 | u_alpha_xa | 0.033 | 0.053 | 0.033 | Latent field |
| 27 | u_alpha_xa | 0.097 | 0.122 | 0.090 | Latent field |
| 28 | u_alpha_xa | 0.069 | 0.045 | 0.054 | Latent field |
| 29 | u_alpha_xa | 0.035 | 0.050 | 0.022 | Latent field |
| 30 | u_alpha_xa | 0.058 | 0.062 | 0.041 | Latent field |
| 31 | u_alpha_xa | 0.026 | 0.035 | 0.019 | Latent field |
| 32 | u_alpha_xa | 0.038 | 0.027 | 0.042 | Latent field |
| 1 | OmegaT_raw | 0.512 | 0.512 | 0.024 | Hyper |
| 1 | log_betaT | 0.681 | 0.681 | 0.247 | Hyper |
| 1 | log_sigma_lambda_x | 0.630 | 0.630 | 0.175 | Hyper |
| 1 | ui_lambda_x | 0.112 | 0.124 | 0.097 | Latent field |
| 2 | ui_lambda_x | 0.123 | 0.121 | 0.110 | Latent field |
| 3 | ui_lambda_x | 0.101 | 0.126 | 0.105 | Latent field |
| 4 | ui_lambda_x | 0.108 | 0.121 | 0.107 | Latent field |
| 5 | ui_lambda_x | 0.124 | 0.101 | 0.134 | Latent field |
| 6 | ui_lambda_x | 0.093 | 0.092 | 0.104 | Latent field |
| 7 | ui_lambda_x | 0.114 | 0.136 | 0.124 | Latent field |
| 8 | ui_lambda_x | 0.115 | 0.119 | 0.116 | Latent field |
| 9 | ui_lambda_x | 0.117 | 0.097 | 0.127 | Latent field |
| 10 | ui_lambda_x | 0.175 | 0.165 | 0.139 | Latent field |
| 11 | ui_lambda_x | 0.121 | 0.108 | 0.130 | Latent field |
| 12 | ui_lambda_x | 0.110 | 0.088 | 0.109 | Latent field |
| 13 | ui_lambda_x | 0.117 | 0.118 | 0.121 | Latent field |
| 14 | ui_lambda_x | 0.114 | 0.104 | 0.113 | Latent field |
| 15 | ui_lambda_x | 0.103 | 0.137 | 0.108 | Latent field |
| 16 | ui_lambda_x | 0.114 | 0.097 | 0.134 | Latent field |
| 17 | ui_lambda_x | 0.124 | 0.103 | 0.142 | Latent field |
| 18 | ui_lambda_x | 0.105 | 0.101 | 0.097 | Latent field |
| 19 | ui_lambda_x | 0.093 | 0.135 | 0.136 | Latent field |
| 20 | ui_lambda_x | 0.122 | 0.113 | 0.107 | Latent field |
| 21 | ui_lambda_x | 0.120 | 0.112 | 0.105 | Latent field |
| 22 | ui_lambda_x | 0.098 | 0.104 | 0.121 | Latent field |
| 23 | ui_lambda_x | 0.117 | 0.105 | 0.094 | Latent field |
| 24 | ui_lambda_x | 0.104 | 0.126 | 0.109 | Latent field |
| 25 | ui_lambda_x | 0.125 | 0.108 | 0.104 | Latent field |
| 26 | ui_lambda_x | 0.143 | 0.126 | 0.145 | Latent field |
| 27 | ui_lambda_x | 0.122 | 0.101 | 0.098 | Latent field |
| 28 | ui_lambda_x | 0.087 | 0.093 | 0.098 | Latent field |
| 29 | ui_lambda_x | 0.079 | 0.112 | 0.103 | Latent field |
| 30 | ui_lambda_x | 0.116 | 0.117 | 0.112 | Latent field |
| 31 | ui_lambda_x | 0.123 | 0.122 | 0.101 | Latent field |
| 32 | ui_lambda_x | 0.127 | 0.099 | 0.130 | Latent field |
| 1 | log_sigma_ancrho_x | 0.502 | 0.502 | 0.027 | Hyper |
| 1 | log_sigma_ancalpha_x | 0.507 | 0.507 | 0.110 | Hyper |
| 1 | ui_anc_rho_x | 0.046 | 0.077 | 0.063 | Latent field |
| 2 | ui_anc_rho_x | 0.030 | 0.080 | 0.046 | Latent field |
| 3 | ui_anc_rho_x | 0.059 | 0.056 | 0.081 | Latent field |
| 4 | ui_anc_rho_x | 0.050 | 0.089 | 0.066 | Latent field |
| 5 | ui_anc_rho_x | 0.059 | 0.059 | 0.023 | Latent field |
| 6 | ui_anc_rho_x | 0.082 | 0.030 | 0.055 | Latent field |
| 7 | ui_anc_rho_x | 0.029 | 0.051 | 0.082 | Latent field |
| 8 | ui_anc_rho_x | 0.017 | 0.049 | 0.023 | Latent field |
| 9 | ui_anc_rho_x | 0.047 | 0.040 | 0.039 | Latent field |
| 10 | ui_anc_rho_x | 0.027 | 0.115 | 0.115 | Latent field |
| 11 | ui_anc_rho_x | 0.025 | 0.054 | 0.053 | Latent field |
| 12 | ui_anc_rho_x | 0.108 | 0.035 | 0.023 | Latent field |
| 13 | ui_anc_rho_x | 0.025 | 0.024 | 0.034 | Latent field |
| 14 | ui_anc_rho_x | 0.043 | 0.067 | 0.080 | Latent field |
| 15 | ui_anc_rho_x | 0.045 | 0.084 | 0.070 | Latent field |
| 16 | ui_anc_rho_x | 0.062 | 0.027 | 0.025 | Latent field |
| 17 | ui_anc_rho_x | 0.078 | 0.041 | 0.038 | Latent field |
| 18 | ui_anc_rho_x | 0.045 | 0.043 | 0.086 | Latent field |
| 19 | ui_anc_rho_x | 0.024 | 0.054 | 0.037 | Latent field |
| 20 | ui_anc_rho_x | 0.046 | 0.047 | 0.076 | Latent field |
| 21 | ui_anc_rho_x | 0.046 | 0.075 | 0.050 | Latent field |
| 22 | ui_anc_rho_x | 0.106 | 0.082 | 0.077 | Latent field |
| 23 | ui_anc_rho_x | 0.033 | 0.066 | 0.044 | Latent field |
| 24 | ui_anc_rho_x | 0.055 | 0.097 | 0.084 | Latent field |
| 25 | ui_anc_rho_x | 0.037 | 0.085 | 0.093 | Latent field |
| 26 | ui_anc_rho_x | 0.030 | 0.066 | 0.059 | Latent field |
| 27 | ui_anc_rho_x | 0.077 | 0.112 | 0.019 | Latent field |
| 28 | ui_anc_rho_x | 0.026 | 0.032 | 0.016 | Latent field |
| 29 | ui_anc_rho_x | 0.116 | 0.048 | 0.030 | Latent field |
| 30 | ui_anc_rho_x | 0.035 | 0.028 | 0.030 | Latent field |
| 31 | ui_anc_rho_x | 0.027 | 0.036 | 0.042 | Latent field |
| 32 | ui_anc_rho_x | 0.025 | 0.051 | 0.079 | Latent field |
| 1 | ui_anc_alpha_x | 0.074 | 0.064 | 0.072 | Latent field |
| 2 | ui_anc_alpha_x | 0.083 | 0.062 | 0.039 | Latent field |
| 3 | ui_anc_alpha_x | 0.115 | 0.137 | 0.129 | Latent field |
| 4 | ui_anc_alpha_x | 0.074 | 0.063 | 0.045 | Latent field |
| 5 | ui_anc_alpha_x | 0.036 | 0.071 | 0.045 | Latent field |
| 6 | ui_anc_alpha_x | 0.038 | 0.054 | 0.044 | Latent field |
| 7 | ui_anc_alpha_x | 0.079 | 0.069 | 0.053 | Latent field |
| 8 | ui_anc_alpha_x | 0.051 | 0.057 | 0.070 | Latent field |
| 9 | ui_anc_alpha_x | 0.091 | 0.071 | 0.092 | Latent field |
| 10 | ui_anc_alpha_x | 0.049 | 0.039 | 0.039 | Latent field |
| 11 | ui_anc_alpha_x | 0.050 | 0.039 | 0.043 | Latent field |
| 12 | ui_anc_alpha_x | 0.044 | 0.076 | 0.081 | Latent field |
| 13 | ui_anc_alpha_x | 0.042 | 0.063 | 0.046 | Latent field |
| 14 | ui_anc_alpha_x | 0.077 | 0.086 | 0.077 | Latent field |
| 15 | ui_anc_alpha_x | 0.110 | 0.077 | 0.068 | Latent field |
| 16 | ui_anc_alpha_x | 0.106 | 0.124 | 0.060 | Latent field |
| 17 | ui_anc_alpha_x | 0.084 | 0.100 | 0.103 | Latent field |
| 18 | ui_anc_alpha_x | 0.158 | 0.175 | 0.046 | Latent field |
| 19 | ui_anc_alpha_x | 0.068 | 0.107 | 0.057 | Latent field |
| 20 | ui_anc_alpha_x | 0.077 | 0.051 | 0.060 | Latent field |
| 21 | ui_anc_alpha_x | 0.086 | 0.064 | 0.071 | Latent field |
| 22 | ui_anc_alpha_x | 0.069 | 0.047 | 0.032 | Latent field |
| 23 | ui_anc_alpha_x | 0.044 | 0.053 | 0.077 | Latent field |
| 24 | ui_anc_alpha_x | 0.055 | 0.036 | 0.051 | Latent field |
| 25 | ui_anc_alpha_x | 0.098 | 0.086 | 0.083 | Latent field |
| 26 | ui_anc_alpha_x | 0.069 | 0.041 | 0.094 | Latent field |
| 27 | ui_anc_alpha_x | 0.044 | 0.071 | 0.061 | Latent field |
| 28 | ui_anc_alpha_x | 0.077 | 0.060 | 0.057 | Latent field |
| 29 | ui_anc_alpha_x | 0.148 | 0.168 | 0.061 | Latent field |
| 30 | ui_anc_alpha_x | 0.058 | 0.046 | 0.048 | Latent field |
| 31 | ui_anc_alpha_x | 0.049 | 0.046 | 0.062 | Latent field |
| 32 | ui_anc_alpha_x | 0.066 | 0.087 | 0.065 | Latent field |
| 1 | log_sigma_or_gamma | 0.518 | 0.518 | 0.036 | Hyper |
| 1 | log_or_gamma | 0.028 | 0.103 | 0.139 | Latent field |
| 2 | log_or_gamma | 0.037 | 0.081 | 0.077 | Latent field |
| 3 | log_or_gamma | 0.051 | 0.026 | 0.023 | Latent field |
| 4 | log_or_gamma | 0.029 | 0.050 | 0.049 | Latent field |
| 5 | log_or_gamma | 0.030 | 0.097 | 0.081 | Latent field |
| 6 | log_or_gamma | 0.031 | 0.051 | 0.065 | Latent field |
| 7 | log_or_gamma | 0.026 | 0.023 | 0.022 | Latent field |
| 8 | log_or_gamma | 0.046 | 0.024 | 0.029 | Latent field |
| 9 | log_or_gamma | 0.039 | 0.086 | 0.062 | Latent field |
| 10 | log_or_gamma | 0.021 | 0.044 | 0.032 | Latent field |
| 11 | log_or_gamma | 0.043 | 0.017 | 0.023 | Latent field |
| 12 | log_or_gamma | 0.050 | 0.117 | 0.140 | Latent field |
| 13 | log_or_gamma | 0.029 | 0.062 | 0.055 | Latent field |
| 14 | log_or_gamma | 0.050 | 0.028 | 0.031 | Latent field |
| 15 | log_or_gamma | 0.035 | 0.042 | 0.050 | Latent field |
| 16 | log_or_gamma | 0.029 | 0.050 | 0.057 | Latent field |
| 17 | log_or_gamma | 0.022 | 0.060 | 0.063 | Latent field |
| 18 | log_or_gamma | 0.027 | 0.128 | 0.112 | Latent field |
| 19 | log_or_gamma | 0.028 | 0.045 | 0.063 | Latent field |
| 20 | log_or_gamma | 0.032 | 0.031 | 0.030 | Latent field |
| 21 | log_or_gamma | 0.050 | 0.042 | 0.060 | Latent field |
| 22 | log_or_gamma | 0.034 | 0.025 | 0.029 | Latent field |
| 23 | log_or_gamma | 0.037 | 0.049 | 0.063 | Latent field |
| 24 | log_or_gamma | 0.024 | 0.054 | 0.050 | Latent field |
| 25 | log_or_gamma | 0.021 | 0.069 | 0.093 | Latent field |
| 26 | log_or_gamma | 0.045 | 0.043 | 0.022 | Latent field |
| 27 | log_or_gamma | 0.034 | 0.020 | 0.046 | Latent field |
| 28 | log_or_gamma | 0.034 | 0.020 | 0.048 | Latent field |
| 29 | log_or_gamma | 0.041 | 0.042 | 0.057 | Latent field |
| 30 | log_or_gamma | 0.030 | 0.059 | 0.052 | Latent field |
| 31 | log_or_gamma | 0.039 | 0.069 | 0.084 | Latent field |
| 32 | log_or_gamma | 0.025 | 0.040 | 0.027 | Latent field |
ks_summary %>%
filter(Type != "Hyper") %>%
ks_plot_many("TMB", "aghq")
## Warning: Removed 116 rows containing missing values (`geom_tile()`).
## Picking joint bandwidth of 0.00587
(ks_summary_out <- ks_summary %>%
group_by(Type) %>%
summarise(
TMB = mean(`KS(TMB, tmbstan)`),
aghq = mean(`KS(aghq, tmbstan)`),
adam = mean(`KS(adam, tmbstan)`)
)) %>%
gt::gt()
| Type | TMB | aghq | adam |
|---|---|---|---|
| Hyper | 0.12440833 | 0.56767500 | 0.56767500 |
| Latent field | 0.08093662 | 0.07512077 | 0.08234904 |
Save some things for output:
saveRDS(ks_summary_out, "ks_summary_out.rds")
Want to create rank order lists of largest KS differences between methods:
ks_comparison <- function(ks_summary, method1, method2, n) {
ks_method1 <- paste0("KS(", method1, ", tmbstan)")
ks_method2 <- paste0("KS(", method2, ", tmbstan)")
ks_summary[["KS difference"]] <- ks_summary[[ks_method1]] - ks_summary[[ks_method2]]
ks_summary %>%
filter(Type != "Hyper") %>%
arrange(desc(`KS difference`)) %>%
head(n = n)
}
Nodes where TMB beats aghq:
ks_comparison(ks_summary, method1 = "aghq", method2 = "TMB", 10)
histogram_and_ecdf(par = "ui_anc_alpha_x", i = 18)
histogram_and_ecdf(par = "u_alpha_xs", i = 18)
histogram_and_ecdf(par = "ui_anc_alpha_x", i = 29)
Nodes where aghq beats TMB:
ks_comparison(ks_summary, method1 = "TMB", method2 = "aghq", 10)
histogram_and_ecdf(par = "us_alpha_xs", i = 30)
histogram_and_ecdf(par = "us_alpha_xs", i = 31)
histogram_and_ecdf(par = "us_alpha_xs", i = 26)
Is there any correlation between the value of \(\text{KS}(\texttt{method}, \texttt{tmbstan})\) for a particular parameter and the ESS of that parameter from tmbstan output?
rhats <- bayesplot::rhat(tmbstan$mcmc$stanfit)
ess_ratio <- bayesplot::neff_ratio(tmbstan$mcmc$stanfit)
niter <- 4 * tmbstan_details$niter / tmbstan_details$nthin
ess <- ess_ratio * niter
ks_summary %>%
pivot_longer(
col = starts_with("KS"),
names_to = "Method",
values_to = "KS"
) %>%
mutate(
Method = fct_recode(Method,
"adam" = "KS(adam, tmbstan)",
"aghq" = "KS(aghq, tmbstan)",
"TMB" = "KS(TMB, tmbstan)"
)
) %>%
group_by(Parameter) %>%
mutate(
par_num = case_when(
max(index) > 1 ~ paste0(Parameter, "[", index, "]"),
TRUE ~ Parameter
)
) %>%
ungroup() %>%
left_join(data.frame(ess) %>%
tibble::rownames_to_column("par_num")
) %>%
ggplot(aes(x = ess, y = KS)) +
geom_point(alpha = 0.5) +
geom_smooth(method = "lm", color = "#56B4E9") +
facet_grid(~ Method) +
theme_minimal() +
labs(x = "ESS", y = "KS(method, tmbstan)")
## Joining, by = "par_num"
## `geom_smooth()` using formula = 'y ~ x'